\chapter{Kravspecifikation}
\label{kravspecifikation}
På baggrund af analysen af kransystemet vil der her blive opstillet en kravspecifikation, der omhandler hvilke krav, der sættes til det endelige styret system. For at kunne teste disse krav, vil der yderligere blive udformet en accepttestspecifikation, der beskriver, hvorledes disse krav vil blive testet på det endelige system.

\section{Funktionskrav}
\label{kravspecifikation-funktionskrav}
Som før beskrevet i problemformuleringen, se kapitel \ref{problemformulering}, ønskes det at designe en regulator til hastighedsregulering af lasten. Der anvendes som beskrevet tidligere i afsnit \ref{beskrivelseafkransystem-mekaniskkonstruktion}, en modelkran i dette projekt. Modelkranen har visse begrænsninger, der her vil blive opsummeret.

\subsection*{Lasten}
\label{kravspecifikation-funktionskrav-lasten}
Monteret på modelkranen er der en vægtklods som last. Det er muligt at udskifte denne last til en ny, men fordi der ikke på modelkranen er installeret mulighed for at overvåge vægten af lasten og derved være sikker på at den korrekte vægt af lasten indgår i modellerne, vælges det at holde lastens vægt konstant. Lasten vægt er målt til 3,71 kg.

\subsection*{Forstyrrelser}
\label{kravspecifikation-funktionskrav-forstyrrelser}
I dette projekt er der forskellige forstyrrelser, der er valgt at se bort fra, som dog stadig har indflydelse på, hvordan modelkranen opererer. Der ses blandt andet bort fra vindpåvirkninger der måtte være på lasten. Det er gjort, fordi modelkranen er installeret indendørs og derved ikke på samme måde er påvirket af vind, som det ville være tilfældet, hvis den var installeret udendørs. Det er også gjort, fordi projektgruppen har vurderet, at ved de hastigheder, modelkranen maksimalt kan opnå, vil påvirkningen fra vindmodstand være tæt på nul. Der er også set bort fra, at modelkranen kan bevæge sig i $z$-retningen. Det er gjort for at simplificere modellerene opstillet for modelkranen og fordi projektgruppen ikke har modtaget den nødvendige undervisning til at håndtere systemer der bevæger sig i 3 dimensioner. 

\subsection*{Operationsområde}
\label{kravspecifikation-funktionskrav-operationsområde}
Som beskrevet i afsnit \ref{beskrivelseafkransystem-mekaniskkonstruktion} er der et begrænset operationsområde for modelkranen. Modelkranen har operationsområdet:
\begin{itemize}
\item $x$-retning kan bevæges 0 - 4 m
\item $y$-retning kan bevæges 0 - 1,26 m
\end{itemize}
Ydermere er der i afsnit \ref{indledendeanalyseafkransystem-maetning} udført forsøg til at finde den maksimale hastighed i $x$- og $y$-retningen for åbensløjfe. Maksimal hastighed i $x$-retningen er aflæst til 1,02 $\has$. I $y$-retningen er den maksimale hastighed afhængig af, hvilken retning lasten har. For $y$-retningen opad er maksimal hastighed aflæst til 0,23 $\has$ og $y$-retning nedad er den aflæst til 0,31 $\has$. Det leder til, at når der anvendes hastighedsregulering, er der opstillet begrænsninger til referencehastighederne på 0,2 $\has$ i $y$-retningen og 0,8 $\has$ i $x$-retningen. Det er gjort, for at regulatoren skal have en mulighed for at øge hastigheden yderligere end brugeren, for at overkomme mulige svingninger af lasten.

%\section{Præcision}
%Kravet for præcision er både gældende i x- og y-retningen. Fordi indsvingningstiden for et step er defineret som som tid det tager et step at komme indenfor en given procentdel af stepstørrelsen, er det relevant at specificere en endelig præcision der skal være opfyldt for alle stepstørrelser. Dette giver anledning til ligning \eqref{eq:tolerance_step}, hvor der udregnes en tolerance procent, som er anvendt til at bestemme tolerancen til alle stepstørrelser.
%\begin{IEEEeqnarray}{rCl}
%\text{Tolerance} = \frac{\text{Præcision [m]}}{\text{Step [m]}} \cdot 100\%
%\label{eq:tolerance_step}
%\end{IEEEeqnarray}
%Præcisionskravet er valgt til at være $\pm$ 0,5 cm og på figur \ref{fig:indsvingningstid_tolerance} er der afbilledet et step hvor tolerancen samt indsvingningstiden kan ses.
%\begin{figure}[H]
%\centering
%\includegraphics[width=\textwidth]{billeder/kravspec/indsvingningstid_tolereance.pdf}
%\caption{illustration af grænser for tolerance og indsvingningstid.}
%\label{fig:indsvingningstid_tolerance}
%\end{figure}

\section{Reguleringskrav}
\label{kravspecifikation-reguleringskrav}
Udover de opstillede funktionelle krav, stilles der også specifikke krav til de reguleringsalgoritmer der implementeres på modelkranen. Som før nævnt er det valgt at designe hastighedsregulering, og det er valgt at kigge på følgende krav; oversving, steady state fejl, lastvinkel og dynamik. Der er ydermere valgt at have samme krav i både $x$- eller $y$-retningen og at kravene er ens for den klassiske og den morderne regulering. I dette afsnit er der opstillet de krav, der stilles til hastighedsreguleringen. Hastighedsregulatorens input, kommer fra brugeren, der anvender det i afsnit \ref{beskrivelseafkransystem-elektriskkonstruktion-joystick} beskrevede joystick. 

\subsubsection*{Oversving}
Eftersom joysticket giver en hastighedsreference til regulatoren og ikke position, er det brugerens opgave visuelt at justere hastigheden af lasten, så den opnår den ønskede position. Dette gør, at kravet om oversving ikke er kritisk. Det er derfor valgt, at der tolereres 5 \% oversving i hastighed. 

\subsubsection*{Steady state fejl}
Samme begrundelse, som er nævnt under oversving, gælder når det stilles krav til steady state fejlen. Steady state fejlen er derfor valgt til maksimalt at være $\pm$ 2,5 \%.

\subsubsection*{Lastvinkel}
\begin{wrapfigure}{r}{0.5\textwidth} % Free body diagram for motorakslen.
\vspace{-20pt}
%\begin{figure}[H] %Blokdiagram af x positionsregulator
\centering
\begin{tikzpicture}[auto, node distance=2cm,>=latex']
 \coordinate [label = above:Slæde]  (A) at (0,3);
 \coordinate [label = left:Last]  (B) at (0,0);
 \coordinate (C) at (2,0);
 \coordinate [label = left:\text{1,26 m}]  (kartete) at (0,1.5);
 \draw (0,0.2) -- (0.2,0.2) -- (0.2,0);
 \draw (0,0) -- (2,0) -- (0,3) -- cycle;
 \foreach \point in {A,B,C}
    \fill [black,opacity=1] (\point) circle (1pt);
  \draw [] (0,2.7) arc (-90:-57:0.3); 
  \coordinate [label = right:$_{\theta_{\text{Last}_\text{max}}}$]  (kartete) at (0.2,2.7);
  \coordinate [label = below:x]  (kartete1) at (1,0);
\end{tikzpicture}
\caption{Approksimation af lastforskydningen.}
\label{fig:kravspec_lastvinkel}
%\end{figure}

\vspace{-20pt}
%\caption{Approksimation af lastforskydningen i forhold til lastvinklen.}
%\label{fig:kravspec_lastvinkel}
\vspace{-10pt}
\end{wrapfigure}
For at finde kravet til lastvinklen er det valgt at kigge på tilfældet, hvor lasten er i position $y$ = 1,26 m. Det er gjort, fordi det er i denne position, at vinklen har størst indflydelse på, hvor meget lasten vandre. Idet lasten bevæger sig i en cirkelbue, er det ikke umiddelbart muligt at udregne hvor meget lasten forskydes ved en bestemt vinkel. Derfor er det valgt at approksimere denne cirkelbue til en lige linie, hvorefter det med simpel trekantberegning er muligt, at regne hvorledes lasten forskydes, når vinklen til lasten ændres. På figur \ref{fig:kravspec_lastvinkel} er der afbilledet den approksimerede trekant, samt angivet en værdi x som repræsenterer lastforskydningen. Når der regnes med, at lasten må forskydes $\pm$ 10 cm bliver det maksimale vinkeludsving $\pm ~ 4,5 \degree$, hvilket er valgt, som den maksimale værdi vinklen må antage.

\subsubsection*{Indsvingningstid}
Idet det altid, med hensyn til en kran, er ønskeligt at optimere hastigheden, fordi den derved kan gøres mere effektiv, er det med denne overvejelse valgt ikke at sætte et specifikt krav til indsvingningstiden i dette projekt. Det er derimod valgt, at kravet til indsvingningstiden sættes ud fra et optimeringsspørgsmål, hvilken vil sige, at når alle andre krav til modelkranen er opfyldt, vil der blive optimeret med hensyn til indsvingningstiden. Når der tales om indsvingningstid er det valgt at se på $5 \%$ indsvingningstiden i denne rapport.

\subsection*{Stigetid}
Med samme begrundelse som ved indsvingningstid, er det valgt ikke at sætte et fast krav til stigetiden, men derimod optimere denne når de andre krav er opfyldt. Stigetiden er i denne rapport defineret til at være fra $10-90~\%$ af step størrelsen.  

%\subsection{Positionsregulator}
%I dette afsnit er der opstillet de krav der stilles til positionsreguleringen. Inputtet til denne regulering er en fast position ønsket af brugeren som beskrevet i afsnit \ref{beskrivelseafkransystem-funktionalitet-automatiseretpositionsstyring}.

%\subsubsection*{Oversving}
%Som udgangspunkt tolereres oversving ikke på modelkranen når der tænkes på positionsregulering. Kravet om ingen oversving er opstillet idet det ikke skal være muligt for lasten, efter at være ankommet til en destination og svinge yderligere så den har mulighed for at ramme en forhindring. \\
%Det anses dog ikke som muligt at oversvinget altid kan være nul idet der anvendes sensorer på kranen som har en endelig opløsning. Dette medfører at det ikke altid vil være muligt at undgå oversving. Det er derfor valgt at tolerere et oversving på 0,5 cm.

%\subsubsection*{Steady state fejl}
%Som udgangspunkt tolereres der heller ikke en stady state fejl på modelkranen. Kravet om ingen steady state fejl er opstillet idet det altid skal være muligt for lasten, at ankomme til den position regulatoren er blevet givet. Det vurderes dog at der i projektet godt kan tolereres en lille steady state fejl som er valgt til maksimalt 0,3 cm.

%\subsubsection*{Dynamik}
%I samme stil med dynamikken for hastighedsreguleringen er det også her ønskeligt at optimere hastigheden på modelkranen. På baggrund af dette er det valgt at opstille et krav om at der skal optimeres, når alle andre krav er indfriet, med hensyn til hastigheden. Det betyder at der designes mod at indsvingningstiden skal minimeres. 